iT邦幫忙

2024 iThome 鐵人賽

DAY 22
0
佛心分享-IT 人自學之術

自學swift語法系列 第 22

Day22-Protocol & Generic & Collection 基本介紹

  • 分享至 

  • xImage
  •  

Collection 相關 Protocol:
Sequence → Collection → Bidirectional Collection → Random Access Collection
Sequence:會呼叫下一個。Iterator。
Collection:透過 index 存取。Dictionary、Set。
Bidirectional Collection:可以雙向 loop 。String。
Random Access Collection:透過 index ± Int 獲得另一個可用的 index。Array。

  • String 不是用數字 index,也不能用加減法就找到不同位置的字。
  • 如果只是要檢查有沒有資料,一律使用 .isEmpty。
  • Generic 經常與 Protocol 搭配。

isEmpty
=> .startIndex == .endIndex

Generic

  • 「使用時才知道的類型」的代稱。
  • Array != Array
  1. 為什麼 .isEmpty 會比 .count == 0 好?
    => 因為 .isEmpty 只需要比較開始和結束的 index 是否一樣即可判斷,而數量可能要 loop 所有資料才能判斷。

  2. Sequence、Collection、BidirectionalCollection、RandomAccessCollection,他們的特性是什麼?
    =>
    Sequence:知道如何找到下一個資料。
    Collection:可以用 [index] 存取資料。
    BidirectionalCollection:可以雙向存取資料。
    RandomAccessCollection:無論存了多少資料都可以用一個簡單的運算直接找到資料位置。

  3. Set 和 Set 都是 Set,表示他們是同一種類型嗎?
    => 不是,類型包含實際使用時<>裡所賦予的類型,所以他們是分別獨立的類型。

影片連結:https://youtu.be/-k5HD4_YqZk?si=eGb6DTTfiJBeq8xR


上一篇
Day21-Dictionary 介紹 & Collection 整理
下一篇
Day23-建立你的 Function
系列文
自學swift語法30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言